PROVINCE = [
    "河北省",
    "山西省",
    "辽宁省",
    "吉林省",
    "黑龙江省",
    "江苏省",
    "浙江省",
    "安徽省",
    "福建省",
    "江西省",
    "山东省",
    "河南省",
    "湖北省",
    "湖南省",
    "广东省",
    "海南省",
    "四川省",
    "贵州省",
    "云南省",
    "陕西省",
    "甘肃省",
    "青海省",
    "台湾省",
]

AUTONOMOUS = ["内蒙古自治区", "广西壮族自治区", "西藏自治区", "宁夏回族自治区", "新疆维吾尔自治区"]

SPECIAL_REGION = ["香港特别行政区", "澳门特别行政区"]
MUNICIPALITY = ["北京市", "天津市", "上海市", "重庆市"]

PROVINCE_REGION = [*PROVINCE, *AUTONOMOUS, *SPECIAL_REGION, *MUNICIPALITY]


def clean_province(label: str) -> str:
    if label is None:
        return label
    if label.strip() is False:
        return label

    names = [name for name in PROVINCE_REGION if label.strip() in name]

    if not names:
        return label

    return names[0]
